package hcn.api.service.api.inpatient;

import ctd.util.annotation.RpcService;
import hcn.mch.request.FindInspectionRecordListQO;
import hcn.mch.request.GetInspectionRecordDetailQO;
import hcn.mch.request.NewbornScreeningListQO;
import hcn.mch.request.ScreeningH5URLQueryQO;
import hcn.mch.response.*;

import java.io.IOException;

/**
 * @program: Myproject
 * @description: 报告查询
 * @author: zangsf
 * @create: 2022-07-18 15:05
 **/
public interface InspectionRecordService {
    /* *
     * @description :查询孕妇的检验检查记录
     * @author      :zangsf
     * @date        :2022-07-15 15:49
     * @param       :[]
     * @return      :void
     */
    @RpcService
    FindInspectionRecordListVO findPregnantInspectionRecordList(FindInspectionRecordListQO qo) throws Exception;

    /* *
     * @description :查询母亲体检记录详情
     * @author      :zangsf
     * @date        :2022-07-18 13:32
     * @param       :[qo]
     * @return      :hcn.mch.response.GetInspectionMotherRecordDetailVO
     */
    @RpcService
    GetInspectionMotherRecordDetailVO findPregnantInspectionRecordDetail(GetInspectionRecordDetailQO qo) throws Exception;

    /* *
     * @description :查询孩子体检记录列表
     * @author      :zangsf
     * @date        :2022-07-18 13:33
     * @param       :[qo]
     * @return      :hcn.mch.response.FindInspectionRecordListVO
     */
    @RpcService
    FindInspectionRecordListVO findChildInspectionRecordList(FindInspectionRecordListQO qo) throws Exception;

    /* *
     * @description :查询孩子体检记录详情
     * @author      :zangsf
     * @date        :2022-07-18 13:33
     * @param       :[qo]
     * @return      :hcn.mch.response.GetInspectionChildRecordDetailVO
     */
    @RpcService
    GetInspectionChildRecordDetailVO getChildInspectionRecordDetail(GetInspectionRecordDetailQO qo) throws Exception;

    /* *
     * @description :新生儿筛查列表/视力筛查列表/听力筛查列表/眼保健列表
     * @author      :zangsf
     * @date        :2022-09-22 14:45
     * @param       :[qo]
     * @return      :hcn.mch.response.NewbornScreeningListVO
     */
    @RpcService
    NewbornScreeningListVO newbornScreeningListQuery(NewbornScreeningListQO qo) throws Exception;


    /* *
     * @description :新生儿筛查详情查询
     * @author      :zangsf
     * @date        :2022-09-22 14:48
     * @param       :[qo]
     * @return      :hcn.mch.response.ScreeningH5URLQueryVO
     */
    @RpcService
    ScreeningH5URLQueryVO screeningH5URLQuery(ScreeningH5URLQueryQO qo) throws Exception;
}
